
function createXMLHttp() {
	if (typeof XMLHttpRequest != "undefined") { // для браузеров аля Mozilla

		return new XMLHttpRequest();
	} else if (window.ActiveXObject) { // для Internet Explorer (all versions)
		var aVersions = [ "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0",
				"MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp" ];
		for ( var i = 0; i < aVersions.length; i++) {
			try { //
				var oXmlHttp = new ActiveXObject(aVersions[i]);

				return oXmlHttp;
			} catch (oError) {

			}
		}
		throw new Error("Невозможно создать объект XMLHttp.");
	}
}

/*
 * Очень важная функция, обратите на неё внимание. Формирует строку запроса
 * "name1=value1&name2=value2&name3...". Принимает один аргумент - ссылку на
 * форму.
 */

function getRequestBody(oForm) {
	var aParams = new Array();
	for ( var i = 0; i < oForm.elements.length; i++) {
		var sParam = encodeURIComponent(oForm.elements[i].name);
		sParam += "=";
		sParam += encodeURIComponent(oForm.elements[i].value);
		aParams.push(sParam);
	}
	return aParams.join("&");
}

/*
 * В этой ф-ции мы создаём объект XmlHttp, формируем запрос, инициализируем
 * перехватчик состояний onreadystatechange, и посылаем наш запрос.
 * 
 * Обратите внимание, что во втором аргументе метода open(..) мы передаём ссылку
 * на oForm.action, это сделано как из соображений безопасности, так и ради того
 * что-бы сценарий можно-было бы использовать для работы с несколькими
 * страницами.
 * 
 * Так-же, стоит отметить факт отправки дополнительного заголовка:
 * "appilaction/x-www-form-urlencoded" Большинство языков (в том числе и PHP),
 * требуют этого, для корректного выполнения синтаксического анализа пришедших
 * данных. Этот момент очень важен.
 * 
 */

function sendRequest() {
	var oForm = document.forms[0];
	var sBody = getRequestBody(oForm);
	oForm.reset();
	var oXmlHttp = createXMLHttp();

	oXmlHttp.open("POST", oForm.action, true);
	oXmlHttp.setRequestHeader("Content-Type",
			"application/x-www-form-urlencoded");

	oXmlHttp.onreadystatechange = function() {
		if (oXmlHttp.readyState == 4) {
			if (oXmlHttp.status == 200) {
				saveResult(oXmlHttp.responseText);
			} else {
				saveResult("Ошибка: " + oXmlHttp.statusText);
			}
		}
	};

	oXmlHttp.send(sBody);
	
}


function saveResult(sText) {

	var arr = sText.split('|#|');

	if (arr[1] == 'none') {
		alert("Вы не заполнели все поля!");
	} else {
		// sElem.insertChild = sText;
		var comments = document.createElement("div");
		comments.setAttribute("class", "comments");

		var comments_head = document.createElement("div");
		comments_head.setAttribute("class", "comments-head")

		var comments_username = document.createElement("div");
		comments_username.setAttribute("class", "comments-username");

		var comments_date = document.createElement("div");
		comments_date.setAttribute("class", "comments-date");

		var comments_text = document.createElement("div");
		comments_text.setAttribute("class", "comments-text");

		var content = document.createTextNode(arr[0]);
		comments_username.appendChild(content);
		content = document.createTextNode(arr[1]);
		comments_date.appendChild(content);
		content = document.createTextNode(arr[2]);
		comments_text.appendChild(content);

		comments_head.appendChild(comments_username);
		comments_head.appendChild(comments_date);
		comments.appendChild(comments_head);
		comments.appendChild(comments_text);

		var sp2 = document.getElementById("divStatusAdd");
		var parentDiv = sp2.parentNode;

		// insert the new element into the DOM before sp2
		parentDiv.insertBefore(comments, sp2);
		
		$('div.comments:odd').css('background-color', '#211d1d');		
		$('div.comments:last').corner('10px');
		
		// удаление пустого коммента
		var first_comment = $('div.comments-username:first');
		if (first_comment.html().trim().length == 0){
			//TODO сделать удаление
			$('div.comments:first').remove();
		}
	}
}
